<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Cliente_model extends CI_Model {
	
	public function get_all_clientes_by_perfil($perfil=NULL){
		$singem = $this->load->database('singem', TRUE);
		$singem->select('cast(Cliente as varchar) as Cliente, Nome, Inscricao, CGC, Fantasia, Vendedor, Cidade, UF');						
		if ($perfil != NULL){
			if($perfil<>99){
				$singem->where('Vendedor', $perfil);
			}
		}
		$singem->order_by("nome", "asc");
		return $singem->get('Cad_Clientes')->result();
	}
	
	public function get_all($perfil=NULL){
		$singem = $this->load->database('singem', TRUE);
		$singem->select('Cliente, Nome, Inscricao, CGC, Fantasia, Vendedor, Cidade, UF');
// 		if ($perfil != NULL){
// 			$singem->where('Vendedor', $perfil);
// 		}
		$singem->order_by("nome", "asc");
		return $singem->get('Cad_Clientes')->result();
	}
	
	public function get_byid($id=NULL){
		if ($id != NULL){
			$singem = $this->load->database('singem', TRUE);
			$singem->select('Cliente, Nome, Fantasia, Classificacao, CGC');//preco_tabela
			$singem->where('Cliente', $id);
			$singem->limit(1);
			return $singem->get('Cad_Clientes')->row();
		} else {
			return false;
		}
	}
	
	public function get_byid_singem_alegropedido($id=NULL){
		if ($id != NULL){
			$singem = $this->load->database('singem', TRUE);
			$singem->select('Cliente, 
							 Nome, 
							 Endereco,  
							 Complemento,
							 Bairro, 
							 Cidade, 
							 UF, 
							 CEP, 
							 Tipo,
							 Fantasia, 
							 Inscricao, 
							 CGC,
							 Contato,
							 Fone, 
							 Email, 
							 Observacoes as Observacao, 
							 Classificacao');//preco_tabela
			//$singem->where('Cliente', '%'.$id.'%');
			$singem->like('Cliente', $id);
			$singem->limit(1);
			$return = $singem->get('Cad_Clientes')->row();
			
			/*
			if ( !count($return) > 0){
				$this->db->select('cli_codigo as Cliente, 
									cli_nome as Nome, 
									cli_endereco as Endereco,
									cli_complemento as Complemento, 
									cli_bairro as Bairro, 
									cli_cidade as Cidade, 
									cli_uf as UF, 
									cli_cep as CEP, 
									tpcli_tipo as Tipo,
									cli_fantasia as Fantasia,
									cli_inscricao as Inscricao,
									cli_cgc as CGC,
									cli_contato as Contato,
									cli_fone as Fone, 
									cli_email as Email, 
									cli_observacao as Observacao
						');
				//$this->db->where('cli_codigo', '%'.$id.'%');
				$this->db->like('cli_codigo', $id);
				$this->db->where('cli_excluido', '0');
				$this->db->limit(1);
				$return = $this->db->get('tbl_cliente')->row();
			}
			*/
			
			return $return;
		} else {
			return false;
		}
	}
	
	/*
	public function get_byid_alegro($id=NULL){
		if ($id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->select('cli_codigo as Cliente, cli_nome as Nome, cli_fantasia as Fantasia');
			$alegroPedidos->where('cli_codigo', $id);
			$alegroPedidos->where('cli_excluido', '0');
			$alegroPedidos->limit(1);
			$return = $alegroPedidos->get('tbl_cliente')->row();

			return $return;
		} else {
			return false;
		}
	}
	*/
	
	public function do_adicionar($dados=NULL){
// 		echo "<pre>";
// 		print_r($dados);
// 		exit;
		
		if ($dados != NULL){
			$this->load->model('usuario_model', 'usuario');
			$this->load->helper('funcoes_helper');
			
			//$this->db->insert('tbl_cliente', $dados);
			//$this->db->insert('tbl_cliente', $dados);
			
			$singem = $this->load->database('singem', TRUE);
			//$singem->query('SET IDENTITY_INSERT dbo.Cad_Clientes ON');
			if($singem->insert('Cad_Clientes', $dados)){
				
				//pega os dados do cliente inserido para enviar por email
				$dadosClienteCadastrado = $dados['Cliente']. ' - '.$dados['Nome'];
								
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(2,3,6));								
				//depois de ter os emails, disparar o email
				enviarEmail(2,$dadosClienteCadastrado,$emails);
							
				
			//$singem->query('SET IDENTITY_INSERT dbo.Cad_Clientes OFF');
				$this->session->set_flashdata('adicionarok', CADASTRO_CLIENTE);
			} else {
				$this->session->set_flashdata('error', ERRO_CADASTRO_CLIENTE);
			}
			redirect('cliente/adicionar');
		}
		
		/*
		if ($dados != NULL){
			$this->db->query('SET IDENTITY_INSERT dbo.tbl_cliente ON');
			$this->db->insert('tbl_cliente', $dados);
			$this->db->query('SET IDENTITY_INSERT dbo.tbl_cliente OFF');
			$this->session->set_flashdata('adicionarok', 'Cadastro efetuado com sucesso!');
			redirect('cliente/adicionar');
		}
		*/
	}
	
	/*
	public function do_atualizar($dados=NULL, $condicao=NULL){
		if ($dados != NULL && $condicao != NULL){
			$this->db->update('tbl_cliente', $dados, $condicao);
			$this->session->set_flashdata('edicaook', 'Cadastro alterado com sucesso!');
			redirect(current_url());
		}
	}
	
	public function do_excluir($id=NULL){
		if ($id != NULL){
			$dados['cli_excluido'] = 1;
			$this->db->update('tbl_cliente', $dados, $id);
			$this->session->set_flashdata('excluiok', 'Registro excluído com sucesso!');
			redirect('cliente/listar');
		} else {
			return false;
		}
	}
	*/
	
	public function get_bycgc($cgc=NULL){
		if ($cgc != NULL){
			$singem = $this->load->database('singem', TRUE);
			$singem->where('CGC', $cgc);
			$query = $singem->get('Cad_Clientes')->row();
			
			//$this->db->where('cli_cgc', $cgc);
			//$query = $this->db->get('tbl_cliente')->row();
 			if(count($query) === 1) {
	 			return $query;
			} else {
				return NULL;
 			}
		} else {
			return NULL;
		}
	}
	
	/*
	 public function get_all_clientes_by_perfil($perfil=NULL){
	 if ($perfil == NULL){
	 return FALSE;
	 }
	 $query = $this->db->query('(SELECT
	 cli_codigo AS Cliente,
	 cli_nome AS Nome,
	 cli_inscricao AS Inscricao,
	 cli_cgc AS CGC,
	 cli_fantasia AS Fantasia,
	 usu_codigo AS Vendedor
	 FROM
	 AlegroPedidos.dbo.tbl_cliente
	 WHERE
	 usu_codigo = '.$perfil.')
	 UNION
	 (SELECT
	 Cliente,
	 Nome,
	 Inscricao,
	 CGC,
	 Fantasia,
	 Vendedor
	 FROM
	 SingemSQL.dbo.Cad_Clientes
	 WHERE
	 Vendedor = '.$perfil.')
	 ORDER BY
	 Nome ASC');
	 return $query->result();
	 }
	 */
	
	/*
	 public function get_all(){
	 //$this->db->where('cli_excluido', '0');
	 //return $this->db->get('tbl_cliente')->result();
	
	 $query = $this->db->query('(SELECT
	 cli_codigo AS Cliente,
	 cli_nome AS Nome,
	 cli_inscricao AS Inscricao,
	 cli_cgc AS CGC,
	 cli_fantasia AS Fantasia,
	 usu_codigo AS Vendedor
	 FROM
	 AlegroPedidos.dbo.tbl_cliente)
	 UNION
	 (SELECT
	 Cliente,
	 Nome,
	 Inscricao,
	 CGC,
	 Fantasia,
	 Vendedor
	 FROM
	 SingemSQL.dbo.Cad_Clientes)
	 ORDER BY
	 Nome ASC');
	 return $query->result();
	 }
	 */
	
	/*
	 SELECT  [cli_codigo] as Cliente
	 ,[cli_nome] as Nome
	 FROM [AlegroPedidos].[dbo].[tbl_cliente]
	
	 union
	
	 select Cliente, Nome from SingemSQL.dbo.Cad_Clientes
	 */

}